# Darren
# 2025年02月18日16时35分15秒
# 字符串 不可变数字类型


my_string = "hello world"

# 查找
# str.find(ser_str,start=0,end=len(string))
# 查找 ser_str在start到end-1范围内的索引，不存在返回-1
print(my_string.find('lo', 0, 5))

# 替换
# string.replace(old_str, new_str, num=string.count(old))
# 把 string 中的 old_str 替换成new_str，替换不超过 num次
str1 = my_string.replace('l', 'L', 1)
print(str1)

# 拆分，合并
# .split(str,num)
# 以str为分隔符将字符串至多划分为num次 ,默认分隔符“”，声称类型为list
str_list = my_string.split(" ")
print(str_list)
# .splitlines()按行划分
str2 = "I am an old man\nI like eating potatoes"
str_list2 = str2.splitlines()
# str.join(seq) 将seq中所有字符 用str拼接
print(" ".join(str_list2))

# 字符串翻转：借用列表翻转
my_list = list("hello")
my_list.reverse()
str3 = "".join(my_list)
print(str3)

# 切片 适用于字符串，列表，元组
# str[start:end:step] 截取str下标范围 start~end-1,步长为step的字符串
# 顺序索引 从左向右 下标递增 起始下标为0
# 逆序索引 从右往左，索引递减 注意：最右元素索引为-1 step<0时 start>end
str4 = '0123456789'
print(str4[2:6])  # 默认步长为1
print(str4[2:])  # 默认到表尾结束
print(str4[:6])  # 默认从表头开始
print(str4[:])  # 截取完整字符串
print(str4[::2])  # 步长为2
print(str4[2:-1])  # 2~end-1
print(str4[-2:])  # 末尾两个字符

print(str4[::-1])  # 字符串逆序
# 从end-1开始，每隔一个字符往前取一次
print(str4[-2::-2])
